#!/bin/bash

# 设置默认容器名称
default_container_name="srs5"

# 如果没有提供容器名称参数，则使用默认容器名称
container_name="${1:-$default_container_name}"

# 在容器内创建 "logs" 文件夹
docker exec "$container_name" mkdir /usr/local/srs/logs

# 下载 logrotate 和 cron 工具到容器中
docker exec "$container_name" apt-get update
docker exec "$container_name" apt-get install -y logrotate cron

# 在容器内创建 logrotate 配置文件
docker exec "$container_name" bash -c 'cat <<EOF > /etc/logrotate.d/srs
/usr/local/srs/objs/srs.log {
    daily
    dateext
    dateformat -%Y%m%d-%H%M%S
    compress
    create 0644 root root
    rotate 24
    size 1024M
    olddir /usr/local/srs/logs/
    sharedscripts
    postrotate
        kill -USR1 $(cat /usr/local/srs/objs/srs.pid)
    endscript
}
EOF'

# 创建 cron 作业文件
docker exec "$container_name" bash -c 'cat <<EOF > /etc/cron.d/srs-logrotate
0 0 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/srs
EOF'

# 重启容器内的 cron 服务
docker exec "$container_name" service cron restart
